# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :get_http.py
# @Time      :2024/12/3 16:06:57
# @Author    :flower
import requests

from util.get_file import GetFile
from util.get_log import logger


class GetHttp:
    def __init__(self):
        self.session = requests.Session
        self.headers = {'Content-Type': 'application/json'}
        self.base_url = GetFile.read_yaml_file('env_config.yaml')['march']['host']

    def do_get_request(self, url):
        response = requests.get(url=self.base_url + url, headers=self.headers, verify=False)
        logger.info(f'{self.do_get_request.__name__}执行成功')
        return response.json() # 将响应内容（假设是 JSON 格式）转换为 Python 数据结构（通常是字典或列表）

    def do_post_request(self, url, data):
        try:
            response = requests.post(url= self.base_url + url, headers=self.headers, json=data, verify=False)  # json:传python对象如字典，它会序列化为json。一个可序列化为 JSON 的 Python 对象，用于在（请求等的）主体中发送
        except:
            response = requests.post(url= url, headers=self.headers, json=data, verify=False)
        logger.info(f'{self.do_post_request.__name__}执行成功, 为 {response.json()} ')
        return response.json() # 将响应内容（假设是 JSON 格式）转换为 Python 数据结构（通常是字典或列表）


if __name__ == '__main__':
    token = GetHttp().do_post_request(url='/tokens', json_data={"account": "gaowj", "password": "gaowj123"})['token']
    print(token)
